//从Java.util包导入Scanner类
import java.util.InputMismatchException;
import java.util.Scanner;
public class GuessNumber {
    public static void main(String[] args) {
         /* Math.random()会随机⽣成0-1之间的⼀个数字，所以Math.random()*100会随
机⽣成0-100之间的⼀个数字，因此Math.random()+1会随机⽣成1-100之间的⼀个数字，
（int)(Math.random()*100+1)会将随机⽣成的1-100之间的数字强制转换为⼀个整型数。
*/
        while (true) {
            System.out.println("欢迎来到猜数字！");
            int answer = (int) (Math.random() * 100 + 1);
            //创建⼀个Scanner实例，从标准输⼊System.in扫描读取数据
            Scanner scan = new Scanner(System.in);
            int chances = 7;
            int guess;
            while (chances > 0) {
                System.out.println("请猜⼀个1-100之间的整数,含1和100，你还有" + chances + "次机会：");
                try {
                    guess = scan.nextInt();
                }catch (InputMismatchException e){
//   InputMismatchException叫做输⼊错配异常，
// 即输⼊数据类型和要求类型不⼀致则会出现此异常。
// 此处捕捉此异常进⾏处理
                    System.out.println("请输入数字");
                    scan.next();
                    continue;
                }

                if (guess > answer) {
                    System.out.println("大了");
                } else if (guess < answer) {
                    System.out.println("小了");
                } else {
                    System.out.println("恭喜您！猜对啦！");
                    break;
                }
                chances = chances - 1;
            }
            System.out.println("再玩一次吗？（y/n）");
            //接受用户的选择
            String again = scan.next();
//   将⽤户选择和字符串y⽐较（忽略⼤⼩写），如果不⼀样则结束游戏。
//equalsIgnoreCase⽅法的作⽤是将调⽤字符串和参数字符串忽略⼤⼩写进⾏⽐较，相等返回
//true，不等返回false
            if (!again.equalsIgnoreCase("y")) {
                break;
            }
        }
    }
}